// let firstName = Symbol('first name')
// let person = {}
// person[firstName] = 'li shuai wu'
// console.log(typeof firstName) // symbol

// let firstName = Symbol('first name')
// // 使用一个可计算对象字面量的属性
// let person = {
//   [firstName]: 'li shuaiwu'
// }

// // 将属性设置为只读
// Object.defineProperty(person, firstName, { writable: false })

// let lastName = Symbol('last name')
// Object.defineProperties(person, {
//   [lastName]: {
//     value: 'bian xiaoxue',
//     writable: false
//   }
// })

// console.log(person[firstName]) // li shuaiwu
// console.log(person[lastName]) // bian xiaoxue

// let uid = Symbol.for('uid')

// let Object = {}
// Object[uid] = '123'

// console.log(Object[uid]) // 123
// console.log(uid) // Symbol(uid)

// console.log(Symbol.keyFor(uid)) // uid

// let uid2 = Symbol('uid')
// console.log(Symbol.keyFor(uid2)) // undefined

// let uid = Symbol.for('uid')
// console.log(uid + '')
// console.log(uid / 10)

// let uid = Symbol.for('uid')
// let object = {}
// object[uid] = '123'
// let symbols = Object.getOwnPropertySymbols(object)

// console.log(symbols.length) // 1
// console.log(symbols[0]) // Symbol(uid)
// console.log(object[symbols[0]]) // 123